const path = require('path')

module.exports = {
  publicPath: '/',
  chainWebpack: config => {
    config.resolve.alias
      .set('@assets', path.join(__dirname, './src/assets'))
      .set('@components', path.join(__dirname, './src/components'))
      .set('@plugins', path.join(__dirname, './src/plugins'))
      .set('@views', path.join(__dirname, './src/views'))
      .set('@api', path.join(__dirname, './src/api'))
      .set('@utils', path.join(__dirname, './src/utils'))

    config.resolve.extensions.add('.js').add('.vue')

    const types = ['vue-modules', 'vue', 'normal-modules', 'normal']
    types.forEach(type =>
      addStyleResource(config.module.rule('less').oneOf(type))
    )
  },
  lintOnSave: false
}
function addStyleResource (rule) {
  rule
    .use('style-resource')
    .loader('style-resources-loader')
    .options({
      patterns: [
        path.resolve(__dirname, './src/assets/less/common.less') // 需要全局导入的less
      ]
    })
}
